package com.avicit.zipkinkafkaesserver.commands;

import zipkin2.Span;

import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * 得到 接口数据list
 */
public class InterfaceDataListCommand implements DataListCommand<String> {

    @Override
    public List<String> execute(List<Span> spanList) {
        List<String> list = spanList.stream().map(span -> new StringBuffer()
                .append(span.localEndpoint().ipv4()).append("@")//ip
                .append(span.localEndpoint().serviceName()).append("@")//服务名
                .append(span.tags().get("http.method")).append("@")//请求方法
                .append(span.tags().get("http.path")).append("@")// 请求路径
                .append(span.tags().get("error") == null ? "ok" : "error").append("@")
                .append(span.timestampAsLong()/1000)//设置创建时间
                .toString())
                .collect(Collectors.toList());
        return list;
    }
}
